/**
 * Proyecto X Tecnologia de programacion  2do cuatrimestre de 2012
 * @author
 * German Rickert LU: 93284
 * Maximiliano Tiberi LU: 83600
 * Sebastian Larrieu LU: 94056
 */

package entidades;


import grafica.CapcomGrafico;
import logica.Posicion;
import logica.informe;


public class StriderHiryu extends Capcom {
	
	//Constructor
	public StriderHiryu (Posicion p) 
	{
		grafica = new CapcomGrafico();
		((CapcomGrafico)grafica).cargarStriderHiryu();
		posicion=p;
		vida=100;
		velocidad=2;
		defensa=7;
		puntaje=200;
		poder=12;
		accion=true;
		salta=true;
		
	}
	
	//Comandos
	
	@SuppressWarnings("static-access")
	public void run(){
		while( (posicion.getColumna()>=0) && (vida>0)){//mientras este vivo y no llegue al final.
			if(!atacando){
				grafica.setImagenAcutal(0);
				avanzar();
			}
			else {
				atacar();
			}
			accion=true;
			try {
				this.sleep(2000);
			} catch (InterruptedException e) {
					e.printStackTrace();
			}
		}
	}
	
	/**
	 * metodo que define el ataque del strider hiryu.
	 */
	public void atacar()
	{

		
		if(enemigo.getVida() > 0){
			
			if(salta){
				informe.mostrar("Vida enemigo "+ enemigo.getVida());
				this.getGrafica().setImagenAcutal(1);
				this.getGrafica().setLocation(110*(this.getPosicion().getColumna()), 110*(this.getPosicion().getFila()));
				enemigo.recibirAtaque(poder);
				try {
					this.sleep(velocidad*2000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
							 		 	
				}
				this.getGrafica().setImagenAcutal(2);
				this.avanzar();

				salta= false;
				atacando= false;
			}
			else{
				super.atacar();
			}
		}
	}
} //clase

